comment "GCC Options"

config BR2_GCC_NEEDS_MPC
	bool

choice
	prompt "GCC compiler Version"
	default BR2_GCC_VERSION_4_4_X if BR2_sparc_sparchfleon || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleon || BR2_sparc_sparcsfleonv8
	default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32
	default BR2_GCC_VERSION_4_8_ARC if BR2_arc
	default BR2_GCC_VERSION_4_5_X if BR2_bfin
	default BR2_GCC_VERSION_4_7_X
	help
	  Select the version of gcc you wish to use.

	config BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
		depends on BR2_avr32
		bool "gcc 4.2.2-avr32-2.1.5"

	config BR2_GCC_VERSION_4_3_X
		depends on !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
		depends on !BR2_ARM_EABIHF
		bool "gcc 4.3.x"

	config BR2_GCC_VERSION_4_4_X
		depends on !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a15 && !BR2_x86_atom && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
		bool "gcc 4.4.x"
		# ARM EABIhf support appeared in gcc 4.6
		depends on !BR2_ARM_EABIHF
		# VFPv4 support appeared in gcc 4.5
		depends on !BR2_ARM_FPU_VFPV4 && !BR2_ARM_FPU_VFPV4D16

	config BR2_GCC_VERSION_4_5_X
		depends on !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a15 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4
		select BR2_GCC_NEEDS_MPC
		# ARM EABIhf support appeared in gcc 4.6
		depends on !BR2_ARM_EABIHF
		bool "gcc 4.5.x"

	config BR2_GCC_VERSION_4_6_X
		depends on !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
		select BR2_GCC_NEEDS_MPC
		bool "gcc 4.6.x"

	config BR2_GCC_VERSION_4_7_X
		depends on !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
		select BR2_GCC_NEEDS_MPC
		bool "gcc 4.7.x"

	config BR2_GCC_VERSION_4_8_X
		depends on !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
		select BR2_GCC_NEEDS_MPC
		bool "gcc 4.8.x"

	config BR2_GCC_VERSION_4_8_ARC
		depends on BR2_arc
		select BR2_GCC_NEEDS_MPC
		bool "gcc 4.8-arc"

	config BR2_GCC_VERSION_SNAP
		depends on !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
		select BR2_GCC_NEEDS_MPC
		bool "gcc snapshot"
endchoice

config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
	bool
	default y if !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5

config BR2_GCC_SNAP_DATE
	string "GCC snapshot date"
	default "4.8-20120429"
	depends on BR2_GCC_VERSION_SNAP
	help
	  Enter snapshot date to use for gcc.
	  Format is: A.B-YYYYMMDD

	  A is GCC major version, for example 4.
	  B is GCC minor version, for example 7.
	  YYYYMMDD is snapshot date, for example 20110430.

	  This way we'd get version 4.7-20110430

config BR2_GCC_VERSION
	string
	default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
	default "4.3.6"     if BR2_GCC_VERSION_4_3_X
	default "4.4.7"     if BR2_GCC_VERSION_4_4_X
	default "4.5.4"     if BR2_GCC_VERSION_4_5_X
	default "4.6.4"     if BR2_GCC_VERSION_4_6_X
	default "4.7.3"     if BR2_GCC_VERSION_4_7_X
	default "4.8.1"     if BR2_GCC_VERSION_4_8_X
	default "4.8-arc"   if BR2_GCC_VERSION_4_8_ARC
	default $BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP

config BR2_EXTRA_GCC_CONFIG_OPTIONS
	string "Additional gcc options"
	default ""
	help
	  Any additional gcc configure options you may want to
	  include. Those options are applied for all of the gcc
	  initial, gcc intermediate and gcc final passes.

config BR2_INSTALL_OBJC
	bool "Build/install Objective-C compiler and runtime?"
	depends on !BR2_avr32
	help
	  Build/install Objective-C compiler and runtime?

config BR2_INSTALL_FORTRAN
	bool "Build/install Fortran compiler and runtime?"
	depends on !BR2_avr32
	select BR2_PACKAGE_LIBMPFR
	help
	  Build/install Fortran compiler and runtime?
	  Note that it is highly recommended NOT to use gfortran
	  from gcc older than 4.2.0

config BR2_GCC_ENABLE_TLS
	bool "Enable compiler tls support" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
	default y
	depends on BR2_PTHREADS_NATIVE || BR2_TOOLCHAIN_BUILDROOT_EGLIBC
	help
	  Enable the compiler to generate code for accessing
	  thread local storage variables

config BR2_GCC_ENABLE_OPENMP
	bool "Enable compiler OpenMP support"
	depends on !BR2_PTHREADS_NONE && !BR2_avr32 && !BR2_arc
	help
	  Enable OpenMP support for the compiler
